//
// Created by Kai Wang on 23-11-22.
//

#ifndef OPENCOS_ITEM_CATEGORY_H
#define OPENCOS_ITEM_CATEGORY_H

#include "item/item_category.h"
#include <string>

enum class ItemCategory
{
    ALL = 0,
    SOUP,
    NOODLES,
    DISHES,
    MAIN,
    DRINKS,
    INVALID,
};

namespace Convert
{
/**
 * @brief Convert string to ItemCategory
 * @param pStr
 * @param pVal
 */
void StringToItemCategory(const std::string &pStr, ItemCategory &pVal);

/**
 * @brief Convert ItemCategory to string
 * @param pVal
 * @param pStr
 */
void ItemCategoryToString(const ItemCategory &pVal, std::string &pStr);

/**
 * @LastEditors: Even
 * @Date: 2023-12-28 19:58:36
 * @Description:Over Loading for ItemCategory to string
 */
std::string ItemCategoryToString(const ItemCategory &pVal);
}

#endif  // OPENCOS_ITEM_CATEGORY_H
